/**
 * @see https://umijs.org/zh-CN/plugins/plugin-access
 * */
//接收参数initialState 其类型为 InitialState 或者 undefined
export default function access(initialState: InitialState | undefined) {
  /**
   *  解构赋值语法从 initialState 中提取 loginUser 属性，
      并使用空值合并运算符 ?? 设置默认值为空对象 {}。
      这样做是为了防止当 initialState 为 undefined 时，
      无法访问到 loginUser 属性而导致报错
   */
  const { loginUser } = initialState ?? {};
  return {
    canUser:loginUser,
    canAdmin: loginUser?.userRole === 'admin',
  };
}
